1940年,G.H. 哈代曾著名地写道,数论是一门‘纯粹’科学——其美正源于它对战争与商业完全无用。他再也不能错得更离谱了。如今,他所浪漫化的那些整数,正是 密码学护盾 数字时代的密码学护盾。本讲探讨我们如何从简单的递归谜题,演变为RSA加密系统。
连续性与离散性的悖论
在连续逻辑(微积分)的世界中,我们依赖诸如乘积法则之类的规则:
$$\frac{d(fg)}{dx} = f\frac{dg}{dx} + g\frac{df}{dx}$$
或对如下的函数进行递归积分:
$$\int \log^n |x| dx = x \log^n |x| - n \int \log^{n-1} |x| dx$$
尽管优雅,这些连续结构却是可预测的。然而,网络安全需要的是 单向复杂性。离散数学通过因数与素数的逻辑提供了这种特性:函数在一个方向上容易计算,但若没有‘密钥’,几乎不可能逆向还原。
基础构建:数学归纳法
在我们能保护网络之前,必须掌握 数学归纳法 来验证处理数据的算法。以斐波那契数列 $f_n$ 为例,我们可以证明如下恒等式:
$$\sum_{k=1}^n (-1)^k f_k = (-1)^n f_{n-1} - 1$$
并使用类似比内(Binet)的公式验证增长速率:
$$f_n = \frac{f_{n-1} + \sqrt{5f_{n-1}^2 + 4(-1)^{n+1}}}{2}$$
这种离散逻辑,结合 初始情况,确保像 插入排序 (算法 4.2.3)或 三格骨牌铺砖算法 (算法 4.4.4)这类算法在扩展到万亿次操作时仍能正确运行。
从模式到安全:RSA 的转变
现代安全技术利用 随机化算法 和分治法。通过运用算术基本定理——即每个整数都有唯一的素数指纹——我们构建了RSA加密系统。与微积分中的连续曲线不同,RSA基于素数因子的‘锯齿状’逻辑运行。
🎯 核心原理
数论提供了‘陷门’函数。虽然 分治法 搜索(算法 4.2.1)可以快速在列表中找到名字,但若无密钥,分解一个2048位整数的素因子所需时间将超过宇宙的年龄。